func totalFruit(fruits []int) int {
    ans := 0
    hashMap := map[int]int{}
    l := 0
    for r:=0; r<len(fruits); r++{
        hashMap[fruits[r]]++
        for len(hashMap) >= 3 {
            hashMap[fruits[l]]--
            if hashMap[fruits[l]] == 0 {
                delete(hashMap, fruits[l])
            }
            l++
        }
        if ans < r-l+1 {
            ans = r-l+1
        }
    }
    return ans
}